/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package core.proxy;

import core.interfaces.TQueue;
import core.worker.Address;

/**
 * Classe Proxy che si occupa di astrarre la comunicazione remota con il TQueueManager.
 * @author Vincenzo Merlo, Scuderi Giovanni Luca, Paolo Giuffrida
 */
public abstract class TQueueManagerProxy implements TQueue{

	private Address addr; // indirizzo con cui comunicare

        /**
         * Setter dell'indirizzo del Worker
         * @param addr indirizzo ove si trova il TQueueManager
         */
        public void setAddr(Address addr) {
		this.addr = addr;
	}

        /**
         * Ritorna l'indirizzo del TQueueManager con cui si sta comunicando
         * @return indirizzo associato al TQuemanager in gestione
         */
        public Address getAddr() {
		return addr;
	}

        /**
         * Metodo to string della classe
         * @return stringa rappresentante la classe
         */
        @Override
        public String toString() {
    	StringBuilder sb = new StringBuilder(TQueueManagerProxy.class.getSimpleName());
    	sb.append("\n\tAddress: ").append(this.getAddr());
    	
    	return sb.toString();
    }
	
}
